namespace DigiOffice.Integration.TBIXchangeAzure.Messages
open System
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations
[<AllowNullLiteral>]
type Environment() =
member val Title:String = null with get,set
member val Code:String = null with get,set
[<AllowNullLiteral>]
type Party() =
member val Title:String = null with get,set
member val Code:String = null with get,set
member val Version:String = null with get,set
member val Environment:Environment = null with get,set
[<AllowNullLiteral>]
type Header() =
member val MessageID:String = null with get,set
member val Timestamp:DateTime = new DateTime() with get,set
member val Sender:Party = null with get,set
member val Recipient:Party = null with get,set
member val RequestMessageID:Object = null with get,set
type eventType =
| Update = 0
| Create = 1
| Delete = 2
| Response = 3
[<AllowNullLiteral>]
type Document() =
member val ID:Guid = new Guid() with get,set
member val RootDocumentID:Guid = new Guid() with get,set
member val RegistrationprofileID:Guid = new Guid() with get,set
member val Title:String = null with get,set
member val FullTitle:String = null with get,set
member val Number:String = null with get,set
member val Version:String = null with get,set
member val ExternalNumber:String = null with get,set
member val ExternalVersion:String = null with get,set
member val InternalNumber:String = null with get,set
member val InternalInvoiceNumber:String = null with get,set
member val PersonID:Int32 = new Int32() with get,set
member val RelationID:Int32 = new Int32() with get,set
member val RelationTitle:String = null with get,set
member val ProjectID:Int32 = new Int32() with get,set
member val ProjectTitle:String = null with get,set
member val Extension:String = null with get,set
member val Date:Nullable<DateTime> = new Nullable<DateTime>() with get,set
member val CommentsCount:Int32 = new Int32() with get,set
member val HasComments:Boolean = new Boolean() with get,set
member val HasPreview:Boolean = new Boolean() with get,set
member val ExtraField:String = null with get,set
member val IsFavorite:Boolean = new Boolean() with get,set
member val DocumentcategoryText:String = null with get,set
member val FileSize:Nullable<Int64> = new Nullable<Int64>() with get,set
member val FileDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
member val Hash:String = null with get,set
member val HashType:String = null with get,set
member val FileUrl:String = null with get,set
member val StandardDocumentUrl:String = null with get,set
member val IsCorporateIdentity:Boolean = new Boolean() with get,set
member val UserTitle:String = null with get,set
member val IsFrozen:Boolean = new Boolean() with get,set
member val InternalCompanyID:Int32 = new Int32() with get,set
member val DirectUrl:String = null with get,set
member val AllowDigitalSigningOnlyOnPrimaryVersions:Boolean = new Boolean() with get,set
member val IsPrimaryVersion:Boolean = new Boolean() with get,set
member val FileExtension:String = null with get,set
member val CustomProperties:Dictionary<String, Object> = new Dictionary<String, Object>() with get,set
[<AllowNullLiteral>]
type DocumentMessage() =
member val Header:Header = null with get,set
member val EventType:eventType = new eventType() with get,set
member val Document:Document = null with get,set
[<AllowNullLiteral>]
type DocumentRequestMessage() =
member val Header:Header = null with get,set
member val RootDocumentID:String = null with get,set
member val IncludePhysicalFile:Boolean = new Boolean() with get,set
[<AllowNullLiteral>]
type ProcessDocumentRequestMessage() =
member val InstanceId:Guid = new Guid() with get,set
member val DocumentRequest:DocumentRequestMessage = null with get,set
F# ProcessDocumentRequestMessage DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .other suffix or ?format=other
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /jsonl/reply/ProcessDocumentRequestMessage HTTP/1.1
Host: kpm_digiofficeapigateway.tbi.nl
Accept: text/jsonl
Content-Type: text/jsonl
Content-Length: length
{"InstanceId":"00000000-0000-0000-0000-000000000000","DocumentRequest":{"Header":{"MessageID":"String","Timestamp":"0001-01-01T00:00:00.0000000","Sender":{"Title":"String","Code":"String","Version":"String","Environment":{"Title":"String","Code":"String"}},"Recipient":{"Title":"String","Code":"String","Version":"String","Environment":{"Title":"String","Code":"String"}},"RequestMessageID":{}},"RootDocumentID":"String","IncludePhysicalFile":false}}
HTTP/1.1 200 OK
Content-Type: text/jsonl
Content-Length: length
{"Header":{"MessageID":"String","Timestamp":"0001-01-01T00:00:00.0000000","Sender":{"Title":"String","Code":"String","Version":"String","Environment":{"Title":"String","Code":"String"}},"Recipient":{"Title":"String","Code":"String","Version":"String","Environment":{"Title":"String","Code":"String"}},"RequestMessageID":{}},"EventType":"Update","Document":{"GlobalID":"String","RootDocumentID":"String","Code":"String","Subject":"String","VersionNumber":"String","NewestVersion":false,"RelationReference":{"GlobalID":"String","Title":"String"},"DocumentTypeReference":{"GlobalID":"String","Title":"String"},"ProjectReference":{"GlobalID":"String","Title":"String"},"ConstructionBlockReference":{"GlobalID":"String","Title":"String"},"ConstructionNumberReference":{"GlobalID":"String","Title":"String"},"HousingTypeReference":{"GlobalID":"String","Title":"String"},"Floor":0,"FloorSpecified":false,"DeletedDate":"0001-01-01T00:00:00.0000000","DeletedDateSpecified":false,"File":{"Type":"String","Name":"String","Size":0,"Content":"String","ModifiedDate":"0001-01-01T00:00:00.0000000"},"CustomFields":[{"Name":"String","Value":"String"}],"CreationDate":"0001-01-01T00:00:00.0000000","CreatedBy":"String","ModifiedDate":"0001-01-01T00:00:00.0000000","ModifiedBy":"String"}}